package com.itany.jdbc.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

/**
 * @author 陈华旺
 * @version 1.0
 * @date 2023年10月26日 13:40
 * @Description TODO
 */
public class CommonUtil {

    public static String md5ToBase64(String str){
        MessageDigest md5 = null;
        String temp = null;
        try {
//            基于 jdk 内置的加密算的调用器创建对于加密算的计算对象
            md5 = MessageDigest.getInstance("md5");
//            通过加密计算对象完成 字节加密操作
            byte[] digest = md5.digest(str.getBytes());

//            System.out.println(Arrays.toString("123456".getBytes()));
//            System.out.println(Arrays.toString(digest));

//            为了方便数据库的存储，被加密的字节会编码成字符串
//            为了保证编码时不出现乱码，会采用Base64编码对象实现字节编码操作
//                  Base64.getEncoder() 获取编码器
//                  Base64.getDecoder() 获取解码器
            temp = Base64.getEncoder().encodeToString(digest);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return temp;
    }

    public static void main(String[] args) {
        System.out.println( md5ToBase64("123456") );
        System.out.println( md5ToBase64("aaaa22222") );
    }
}
